package com.xoa.controller.equipment;


import com.xoa.model.equipment.LimsEquipLend;
import com.xoa.service.equipment.EquipBorrowService;
import com.xoa.util.AjaxJson;
import com.xoa.util.LimsJson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.sql.Date;
import java.util.Map;

/**
 * @作者 王穗穗
 * @创建日期 14:28 2019/10/8
 * @类介绍    设备借用控制器
 */
@Controller
@RequestMapping("/EquipBorrow")
public class EquipBorrowController {


    /** 创建作者:   王穗穗
     * 创建日期:   14:29 2019/10/8
     * 方法介绍:
     */
    @RequestMapping("/indexList")
    public String indexList(){
        return "/app/equipment/equipmentBorrow/index";
    }


    /** 创建作者:   王穗穗
     * 创建日期:   14:30 2019/10/8
     * 方法介绍:  设备借用新增页面
     */
    @RequestMapping("/addBorrowHtml")
    public String addBorrowHtml(){
        return "/app/equipment/equipmentBorrow/addborrow";
    }


    /** 创建作者:   王穗穗
     * 创建日期:   16:45 2019/10/10
     * 方法介绍:     设备借还申请
     */
    @RequestMapping("/indexappli")
    public String indexappli(){
        return "/app/equipment/equipmentBorrow/indexappli";
    }


    @RequestMapping("/BorrowManage")
    public String BorrowManage() {
        return "/app/equipment/equipmentBorrowManagement/index";
    }

    @Autowired
    private EquipBorrowService equipBorrowService;


    /** 创建作者:   王穗穗
     * 创建日期:   14:54 2019/10/8
     * 方法介绍:    查询设备借用单
     * 参数说明:   [request]
     * @return     com.xoa.util.LimsJson
     */

    @RequestMapping("/getequipborrowing")
    @ResponseBody
    public LimsJson getequipborrowing(HttpServletRequest request,Integer page, Integer limit,Map map,String ApprovalStatus,String column,String inptext){
        return equipBorrowService.getequipborrowing(request, page, limit, map,ApprovalStatus,column,inptext);
    }



    /** 创建作者:   王穗穗
     * 创建日期:   16:19 2019/10/8
     * 方法介绍:     借用部门查询
     * 参数说明:   [request]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/getorganization")
    @ResponseBody
    public LimsJson getorganization(HttpServletRequest request){
        return equipBorrowService.getorganization(request);
    }



    /** 创建作者:   王穗穗
     * 创建日期:   17:12 2019/10/8
     * 方法介绍:   查询借出部门结算组织
     * 参数说明:   [deptId]
     * @return     com.xoa.util.AjaxJson
     */
    @RequestMapping("/getoneDepx")
    @ResponseBody
    public AjaxJson getoneDepx(HttpServletRequest request,Integer deptId){
        return equipBorrowService.getoneDepx(request,deptId);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   17:09 2019/10/8
     * 方法介绍:   查询借出部门下的设备
     * 参数说明:   [request, equipTypeId, deptId, searchcloumn, searchValue]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/getequipmentBydeptid")
    @ResponseBody
    public LimsJson getequipmentBydeptid(HttpServletRequest request,Integer equipTypeId,Integer deptId,Integer page, Integer limit,String searchcloumn,String searchValue){
        return  equipBorrowService.getequipmentBydeptid(request, equipTypeId, deptId, page, limit, searchcloumn,searchValue);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   17:17 2019/10/8
     * 方法介绍:   添加设备借用单,借出设备
     * 参数说明:   [request, limsEquipLend]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/addequipborrowing")
    @ResponseBody
    public LimsJson addequipborrowing(HttpServletRequest request, LimsEquipLend limsEquipLend, String lendListJson){
        return equipBorrowService.insertSelective(request,limsEquipLend,lendListJson);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   15:28 2019/10/9
     * 方法介绍:   设备借还单撤销
     * 参数说明:   [request, lengId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/Revokequipborrowing")
    @ResponseBody
    public LimsJson Revokequipborrowing(HttpServletRequest request,Integer lengId){
        return equipBorrowService.Revokequipborrowing(request, lengId);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   15:06 2019/10/9
     * 方法介绍:   设备归还
     * 参数说明:   [request, lengId, returnUser]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/Returnborrowing")
    @ResponseBody
    public LimsJson Returnborrowing(HttpServletRequest request,Integer lendId,String returnUser){
        return equipBorrowService.Returnborrowing(request, lendId, returnUser);
    }



    /** 创建作者:   王穗穗
     * 创建日期:   13:48 2019/10/9
     * 方法介绍:   单设备归还
     * 参数说明:   [request, lendListId, equipId, returnUser,lendId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/Returnquipborrowing")
    @ResponseBody
    public LimsJson Returnquipborrowing(HttpServletRequest request,Integer lendListId,Integer equipId,String returnUser,Integer lendId){
        return equipBorrowService.Returnquipborrowing(request, lendListId, equipId, returnUser,lendId);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   16:55 2019/10/9
     * 方法介绍:   删除明细
     * 参数说明:   [request, lendListId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/delLendList")
    @ResponseBody
    public LimsJson  delLendList(HttpServletRequest request,String  lendListId) {
        return equipBorrowService.delLendList(request, lendListId);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   16:55 2019/10/9
     * 方法介绍:   添加明细
     * 参数说明:   [request, lendId, limsEquipLendlist]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/addlendList")
    @ResponseBody
    public LimsJson addlendList(HttpServletRequest request ,String lendListJson){
        return equipBorrowService.addlendList(request,lendListJson);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   17:01 2019/10/9
     * 方法介绍:   查询明细
     * 参数说明:   [lendId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/getLendList")
    @ResponseBody
    public  LimsJson getLendList(Integer lendId,Integer page, Integer limit,Map map){
        return  equipBorrowService.getLendList(lendId, page, limit, map);
    }



    /** 创建作者:   王穗穗
     * 创建日期:   14:32 2019/10/10
     * 方法介绍:   删除设备单
     * 参数说明:   [lendId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/delLend")
    @ResponseBody
    public  LimsJson delLend(String lendId){
        return  equipBorrowService.delLend(lendId);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   14:39 2019/10/10
     * 方法介绍:   设备单审批状态
     * 参数说明:   [lendId, ApprovalStatus]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/lendApprovalStatus")
    @ResponseBody
    public  LimsJson lendApprovalStatus(HttpServletRequest request,String  lendId, String ApprovalStatus){
        return  equipBorrowService.lendApprovalStatus(request,lendId, ApprovalStatus);
    }



    /** 创建作者:   王穗穗
     * 创建日期:   16:20 2019/10/10
     * 方法介绍:   设备借还数据查询
     * 参数说明:   [request, page, limit, map, ApprovalStatus]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/getAdministration")
    @ResponseBody
    public  LimsJson getAdministration(HttpServletRequest request,Integer page, Integer limit, Map map,String ApprovalStatus,String column,String inptext){
        return  equipBorrowService.getAdministration(request, page, limit, map, ApprovalStatus,column,inptext);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   13:06 2019/10/16
     * 方法介绍:   设备单编辑
     * 参数说明:   [request, limsEquipLend]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/updeLendById")
    @ResponseBody
    public  LimsJson updeLendById(HttpServletRequest request, LimsEquipLend limsEquipLend){
        return  equipBorrowService.updeLendById(request, limsEquipLend);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   11:12 2019/10/17
     * 方法介绍:   查询指定设备单
     * 参数说明:   [lendId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/getlendByid")
    @ResponseBody
    public  LimsJson getlendByid(Integer lendId){
        return  equipBorrowService.getlendByid(lendId);
    }



    /** 创建作者:   王穗穗
     * 创建日期:   15:06 2019/12/27
     * 方法介绍:   查询设备借还记录/含多条件模糊查询
     * 参数说明:   [page, limit, equipId]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/equipBorrowData")
    @ResponseBody
    public  LimsJson  equipBorrowData(Integer page, Integer limit, Integer equipId, Date borrowTime,Date returnTime,String borrowerUser,String borrowerDetpId,String approverStatus,String returnStatus ){
        return  equipBorrowService.equipBorrowData(page, limit, equipId, borrowTime, returnTime, borrowerUser, borrowerDetpId, approverStatus, returnStatus);
    }


    /** 创建作者:   王穗穗
     * 创建日期:   10:13 2019/12/28
     * 方法介绍:   查询设备使用记录/含多条件模糊查询
     * 参数说明:   [page, limit, equipId, borrowTime, returnTime, projectNo, projectName, borroeUser]
     * @return     com.xoa.util.LimsJson
     */
    @RequestMapping("/equipUseLogData")
    @ResponseBody
    public  LimsJson  equipUseLogData(Integer page, Integer limit, Integer equipId, Date borrowTime, Date returnTime, String projectNo, String projectName, String borrowerUser){
        return  equipBorrowService.equipUseLogData(page, limit, equipId, borrowTime, returnTime, projectNo, projectName, borrowerUser);
    }

    @ResponseBody
    @RequestMapping("/Laboratory")
    public LimsJson Laboratory(HttpServletRequest request){
        return equipBorrowService.Laboratory(request);
    }
}